package com.email.util;

import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import org.json.JSONException;

import javax.xml.ws.http.HTTPException;
import java.io.IOException;

/**
 * Author：hanll
 * ClassName：SendPhone
 * Date：2022/11/3 17:09
 * Version：1.0
 * Description：
 */
public class SendPhone {

    public static String send(String phone, String number) {
        String reStr = ""; //定义返回值
        // 短信应用SDK AppID   // 1400开头
        int appid =1400611946;
        // 短信应用SDK AppKey
        String appkey = "8af17c60dfa2ffb52c251621ed57d2f4";
        // 短信模板ID，需要在短信应用中申请
        int templateId =1248586 ;
        // 签名，使用的是`签名内容`，而不是`签名ID`
        String smsSign = "短信验证";
        try {
            //参数，一定要对应短信模板中的参数顺序和个数，
            String[] params = {number};
            //创建ssender对象
            SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
            //发送
            SmsSingleSenderResult result = ssender.sendWithParam("86", phone,templateId, params, smsSign, "", "");
            // 签名参数未提供或者为空时，会使用默认签名发送短信
            System.out.println(result.toString());
            if(result.result==0){
                reStr = "success";
            }else{
                reStr = "error";
            }
        } catch (HTTPException e) {
            // HTTP响应码错误
            e.printStackTrace();
        } catch (JSONException e) {
            // json解析错误
            e.printStackTrace();
        } catch (IOException e) {
            // 网络IO错误
            e.printStackTrace();
        }catch (Exception e) {
            // 网络IO错误
            e.printStackTrace();
        }
        return reStr;
    }

    public static void main(String[] args) {
        SendPhone.send("18656875024", "1234");
    }
}
